home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr18
/
ozm100.zip
/
OZM.DOC
next >
Wrap
Text File
|
1993-05-27
|
22KB
|
519 lines
OZM 1.0 - OzCIS Mail Organizer Copyright (C) 1993 Todd Fiske
────────────────────────────────────────────────────────────────────────────────
Contents
topic line page
────────────────────────── ──── ────
overview 36 1
installation 71 2
usage 82 2
command line parameters 89 2
examples 138 3
reference 169 3
cleanup 170 3
duplicates 185 3
filename 229 4
debug mode 239 4
EOF marker 269 5
extensions 288 5
lists 296 5
output path 313 5
progress bars 353 6
replace mode 364 6
quiet mode 381 6
update mode 403 7
work files 430 7
work path 447 7
planned enhancements 467 8
disclaimer 476 8
credits 485 8
contact 508 8
────────────────────────────────────────────────────────────────────────────────
-- overview
OZM is an organizer for OzCIS CISMAIL files. Since CIS Mail is more of a
"two-person" exchange rather than the multi-person nature of forum messages,
the idea of threading doesn't really apply. Instead, the primary job is simply
to put the individual messages in a reasonable order while removing duplicates.
OZM can be used to reorganize OzCIS's message, purge, and outbox save files,
and files which contain various combinations thereof. The input file will be
scanned for all messages, duplicates will be removed, message and subject lists
created, and the output file will be created in order of subject, date, and
time.
Page 1
_66
OZM 1.0 - OzCIS Mail Organizer Copyright (C) 1993 Todd Fiske
────────────────────────────────────────────────────────────────────────────────
-- installation
OZM.EXE should be put in a subdirectory that is named in your path statement.
This allows it to be run from your OzCIS directory, or from any directory where
you may store message files.
This file (OZM.DOC) can be copied to the printer, or read online in any text
editor or file viewer (such as LIST or AutoRead). Copy the .ZIP file to a
floppy disk for safe keeping.
-- usage
OZM is a command line utility. It reads an input file, processes it, and
creates a new version on the disk. At least one parameter is required (the
message filename), and there are several other optional parameters. If OZD is
run without any parameters, a basic help screen will be displayed.
-- command line parameters
Here is the command line format. Items in angle brackets are placeholders for
the actual names you need to supply. Items in square brackets are optional.
ozm <filename[.mes]> [debug|quiet] [lists] [replace|update] [work=<path>]
[output=<path>] [cleanup]
Brief descriptions are given here. For more details, refer to the entry for
each item in the reference section.
filename[.mes] the input file - the extension .MES will be added if no
extension is given and the filename as it is can't be found
debug causes the program to produce more on-screen detail during
the process, and to save copies of the work files
quiet causes the program to suppress most on-screen detail - if
both DEBUG and QUIET modes are specified, DEBUG mode takes
precedence
lists causes the program to generate message and subject lists
work=<path> allows you to specify a path where the work files will be
placed
output=<path> allows you to specify a path where the output and list files
will be placed
replace causes the program to replace the original input file with
the new output file
update causes the program to exchange the names of the original and
new files - if both REPLACE and UPDATE modes are specified,
REPLACE mode takes precedence
cleanup causes the program to delete the work files when done
The filename must be the first parameter on the line. All other parameters can
be specified in any order.
Page 2
_132
OZM 1.0 - OzCIS Mail Organizer Copyright (C) 1993 Todd Fiske
────────────────────────────────────────────────────────────────────────────────
-- usage, cont'd.
-- examples
ozm cismail
This reads the file CISMAIL.MES in the current subdirectory, produces all work
files in the current subdirectory, and creates the output file CISMAIL.001,
also in the current subdirectory. Screen display is normal, and the work file
will be left after the program finishes.
ozm sav\cismail.obs quiet lists work=e:\ cleanup
This will read the file CISMAIL.OSB in the SAV subdirectory beneath the current
level. The output file will be written to the same subdirectory, along with the
message and subject lists. The work file will be created in the root of drive
E: which may be a RAM drive. They will be deleted when the program finishes.
Most screen output will be supressed.
ozm cismail.sav debug lists work=e:\work output=e:\out replace >> ozm.out
The file CISMAIL.SAV will be read from the current subdirectory. The process
will run, providing increased process information and writing temporary work
files to disk. The output file will be created in the OUT subdirectory of drive
E:, along with the message and subject lists. The work files will be created in
the WORK subdirectory of drive E:. After the file CISMAIL.001 is created in
E:\OUT, it will be copied back into the current subirectory, its name swapped
with CISMAIL.SAV, and the original file will be deleted. All program output
will be appended to the file OZM.OUT.
-- reference
-- cleanup
The CLEANUP option tells OZM to delete the intermediate work file when the
program is finished. In normal circumstances (ie, not in DEBUG mode), there is
only one such file: <in_name>.TBL. It will either be placed in the same
subdirectory as the input file, or in the subdirectory specified by the WORK=
option.
Presently, there is no need to keep this after the output file has been
created, so CLEANUP is a handy way to get rid of it. However, I've left it as
an option since it could be useful for debugging purposes, and might be
interesting to look at if your curious. See "work files" below for more
information.
-- duplicates
OZM will scan the input file for duplicate messages to exclude from the final
output. In my initial work, I simply scanned for duplicate occurences of
SUBJECT+DATE+TIME. However, this turned up many records that were not actual
duplicates. Indeed, since CIS doesn't include the number of seconds in the
message post time, its possible for one person to write two (or more) messages
in the space of one minute. What is far less likely though is that the length
of those two messages will be the same. I use this fact to distinguish two
messages that would otherwise appear to be the same based on the header alone.
Page 3
_198
OZM 1.0 - OzCIS Mail Organizer Copyright (C) 1993 Todd Fiske
────────────────────────────────────────────────────────────────────────────────
-- reference, duplicates, cont'd.
In ordinary operation, OZM will create the header table, create the primary
index, scan for duplicates, and produce the output file and lists excluding the
duplicate records. However, if you think that OZM is excluding a record that is
not an actual duplicate, I've included features in the program to allow you to
backtrack and find out exactly. When run with the DEBUG command line option,
OZM will create its additional work files. Firstly, look at <in_name>.DUP to
see just exactly which records OZM considers to be duplicates. Find your
"missing" message by its header and make a note of the record number. It should
appear directly beside a message with the same header and size that is not
deleted. Then take a look at <in_name>.DBG, or go directly to the original file
(hopefully you didn't run with the REPLACE option), and find each message to
compare them.
Most likely, if a message is deleted, its because the message has exactly as
many characters as the other message with the same header. The solution is to
edit the message file itself, and either add or delete one or two characters -
anything but spaces, which OZM ignores. For example, add an extra period
somewhere, or a comma, or something relatively innocuous. This will change the
message size count enough for OZM to consider it to be unique. Run OZM again on
the fixed-up file, and your message should come through just fine.
If on the other hand, the message seems to have been wrongly flagged as a
duplicate, please contact me with the details.
-- filename
The filename must be the first parameter after the program name on the command
line. If the name as entered is not found, and there is no extension, the
extension .MES will be added and the program will try to find it again. If it
still can't be found, the program will return to DOS with an error message. The
path of the input filename will be used as the default path for work and output
files if these options are not specified.
-- debug mode
In DEBUG mode, the program displays more information than usual during each
step of the process. For some steps, the difference is not very great, while in
others quite a lot of additional information is produced. Most steps will
simply show the value of a "dot" on the progress bar. The one exception is
during the step "creating output file". Instead of a progress bar, an
indication of activity of the internal cache will be displayed. Every time a
message is read from the input file into the cache, an "r" will be printed.
Every time the cache is written to the output file, a "W" will be printed.
Additionally, DEBUG mode will cause OZM to write disk files of the main index
at various stages in the process. Briefly, these files are:
<in_name>.DBG - text file listing of the header file <in_name>.TBL
<in_name>.IND - the index file in binary format
<in_name>.DUP - text file listing of the header file in index order, showing
which records OZM considers to be duplicates
If both DEBUG and QUIET modes are specified, DEBUG mode takes precedence. It is
assumed that if you want additional screen information, then you don't really
want suppressed screen information.
Page 4
_264
OZM 1.0 - OzCIS Mail Organizer Copyright (C) 1993 Todd Fiske
────────────────────────────────────────────────────────────────────────────────
-- EOF marker
When the program starts, the first thing it does is to look for an End Of File
(EOF) marker at the end of the input file. If one is found, it is replaced with
a space character.
EOF markers can be added to files by some text editors, and also when files are
concatenated (appended together) with the DOS COPY command, unless the /B
switch is used.
OZM itself has no problems with EOF markers, but OzCIS does. A typical scenario
might go like this: OZM reads a file with an EOF marker at the end of the last
message. This message after reorganizing will most likely be moved to somewhere
within the file, taking the EOF marker with it. Later, when OzCIS tries to read
the file, it will effectively be truncated the file at that point. Its also
possible that other undesired consequences could occur. Hence, OZM removes the
EOF marker if found.
-- extensions
The output message file is always given a numbered extension. The first such
output file in a directory will receive the extension .001, the second will be
.002, and so on. It is hoped that one never has 999 such files in one
subdirectory, although it is possible!
-- lists
OZM will create two output lists that give an overview of the messages and
subjects within the output file. The subject summary list shows all subjects in
the file, in subject order, with a count of all related messages, date and
time, "seen" status, and sender name. The message list shows all messages in
each subject, with date and time, "seen" status, and sender name.
The lists are simple text files that can be viewed in any text editor or file
viewer (like LIST or AutoRead), or can be copied to a printer. They contain no
control characters, although they may contain Character 251, the checkmark. The
subject summary list is 89 characters wide. This should just squeeze into most
narrow column printers if you mess around with the left margin and the
characters-per-inch setting. The message list is 79 characters wide which
should be easily printable without any additional hoop-jumping.
-- output path
An output path can be specified to tell OZM to put the output files in a
directory different from the one where the input file lives. Although OZM is
not as likely to have to deal with very large files, it might still be
convenient to put the output message file in another drive or directory.
Make sure the target drive has at least as much free space as the size of the
input file. The output file will generally be smaller than the input file, but
its best to leave a little extra room. Also, if you specify the LISTS option,
these get placed in the output path as well, so even more space will be
necessary.
Page 5
_330
OZM 1.0 - OzCIS Mail Organizer Copyright (C) 1993 Todd Fiske
────────────────────────────────────────────────────────────────────────────────
-- reference, cont'd
-- output path, cont'd.
The specific format of the OUTPUT= option is:
output=<pathname>
For example
output=e:\output the OUTPUT subdirectory on drive E:
output=d: the current subdirectory on drive D:
output=out the OUT subdirectory below the current directory
There should be no spaces either before or after the equal sign, or within the
path name itself. The path name shouldn't include a trailing backslash except
in the case of a root directory.
-- progress bars
OZM provides simple progress bars for most steps in the process. First a line
of dashes is drawn to indicate "100%" of the completed process. Then as the
process goes on, a line of periods is drawn on top of that. This gives both an
indication that something is happening, and a rough idea of how near the
process is to completion. The progress bars are not exact and sometimes
continue for one or two dots beyond the length of the initial line of dashes.
Its pretty close though.
-- replace mode
REPLACE mode causes OZM to replace the original input file with new output
file. Basically, the entire UPDATE operation is performed, and then the
original input file is deleted. See the UPDATE option for details on that part
of the process.
Generally, its perfectly safe to use the REPLACE option, but it does completely
delete the original file. If you're at all uneasy about this, either use just
the UPDATE option to "move" the output file into the input directory and swap
filenames, or don't specify either of these options, and your original input
file will be left intact in name and content. Its always a good idea to make a
backup in any case.
If both the REPLACE and UPDATE options are specified on the same command line,
the REPLACE option will take precedence.
-- quiet mode
In this mode, OZM will suppress most screen output with the exception of the
major process labels. This makes for a much cleaner display, at the expense of
knowing exactly where to look if the process runs afoul. It may even provide
slightly better performance, but only marginally so.
DEBUG mode takes precedence over QUIET mode if both are specified. See "debug
mode" above for more information.
Page 6
_396
OZM 1.0 - OzCIS Mail Organizer Copyright (C) 1993 Todd Fiske
────────────────────────────────────────────────────────────────────────────────
-- reference cont'd,
-- update mode
UPDATE mode will move the newly created output file back into the input file
subdirectory (if not already there), and will swap the names of the input and
output files. This has the effect of leaving the new file with the original
input file name, and the original file with a numbered extension name.
The process of moving the output file will depend on several things. If no
OUTPUT= drive or path was specified (ie, the output file is in the same
directory), then nothing needs to happen. If the output file is on the same
drive, but in a different directory, the file will be moved via the DOS Rename
service - all that is actually moved is the filename. If the output file is on
another drive, the file will have to be copied into the input subdirectory, and
deleted from its original position.
If a file with the same name as the output file already exists in the input
file directory, you will be asked to confirm overwriting it. If you don't
confirm this, the program will finish and exit to DOS to allow you to clean
things up for yourself. Otherwise, the same named file will be deleted, and the
new output file will be transferred.
Once the output file has been moved to the input file subdirectory, OZM will
swap their filenames. The input file is first renamed to &&OZM&&.TMP, the ouput
file is given the input file name, and finally, the input file is given the
output file name.
-- work files
OZM creates at least one intermediate work file in all circumstances, and will
create a few more if the DEBUG option is used. Here's a list of the work files
- each one uses the name of the input file:
always created
--------------------------------------------------------------------------
.TBL message header table
created with DEBUG option
--------------------------------------------------------------------------
.DBG text file listing of *.TBL
.IND binary index file for *.TBL (subject + date + time + message_size)
.DUP text file listing of .IND showing where OZM has found duplicates
-- work path
A work path can be specified to tell OZM to put the intermediate work files in
a directory different from the one where the input file lives. Since OZM uses a
largely memory-based file system, speedy disk access isn't as crucial, so this
option is provided primarily for the sake of keeping your files organized.
The format of the WORK= option is identical to that of the OUTPUT= option. See
the "output path" section above for more information.
Page 7
_462
OZM 1.0 - OzCIS Mail Organizer Copyright (C) 1993 Todd Fiske
────────────────────────────────────────────────────────────────────────────────
-- planned enhancements
>> more intelligent handling of Executive News Service reports
>> ability to sort output by sender name and/or user id
>> accomodations for Internet email if such are necessary
Please feel free to make suggestions regarding what you'd like to see this
program do, or how it should operate.
-- disclaimer
This software performs its stated functions adequately, but you still use it at
your own risk. I make no warranty as to the fitness of this program for a
particular purpose. I will not be held liable for any damages arising from the
use, misuse, or inability to use this software, even if I'm aware of the
possibility of such.
-- credits
OZM was primarily inspired by OZT user Rory Gordon after discovering that OZT
wouldn't work with CIS Mail files. Additional motivation came from numerous
other requests for a similar utility found while perusing the OzCIS Section.
OZM was written in The Semware Editor 1.0 (pre-release) by Semware, compiled
with Turbo Pascal 7.0 by Borland, with additional support fron the Topaz 4.0
libraries by Software Science.
Eternal gratitude goes to Steve Sneed for bringing OzCIS to the world.
-- "ware" category, distribution
OZM is free. If you are driven to provide compensation, I will not refuse it!
Email, postcards, and other correspondence are always appreciated. Feel free to
make copies of OZM to give to friends and/or associates, but please distribute
with all files intact and unchanged: OZM.EXE, OZM.DOC, and READ__ME.TXT.
However, please do not charge any money for it, including disk-copying costs.
For the time being, OZM is "give-a-ware".
-- contact
If you have any problems, comments, suggestions, criticism, flames, etc, I can
be reached as follows:
Todd Fiske
PO Box 9715-244 CompuServe : 70451,1424
Portland ME 04104-2000 Delphi : TFISKE
Page 8 <eof:ozm.doc>